Copyright: Created with EasyHelp/Web +44(0)973 209667


Contents

When and Where?

You think it is easy to schedule sports fixtures?

Teams, venues, and officials too?

So, have you ever tried?

Copyright © 1997 by KazMax

All Rights Reserved

February 9, 1997

Disclaimer

When and Where is provided as-is, and the authors of this software provide no warranty whatsoever regarding the installation and/or use of this application. The user is obliged to accept all risks and consequences which may result from the installation and/or use of this product.

Under no circumstances whatsoever shall the authors of this product be liable for damages or consequential results following installation and/or use of this software. USE AT YOUR OWN RISK!

You may not attempt to reverse-engineer this software, nor make any attempt to defeat any restrictions we may have placed within this software. You are obliged to respect our rights (intellectual, copyright included) with regard to this software, and accept that we reserve all rights to this software application in perpetuity.

What Is When and Where?

Getting Started

LICENSING

Change History

The Main Dialog

Setting Up/Configuration

Loading/Saving

Automatic Scheduling

Manual Scheduling

Printing


What Is When and Where?

When and Where is a software application designed for use with the Microsoft Windows ©® operating system(s), intended primarily for use by administrators and others who have a need to schedule sports fixtures and other calendar-related activities.

This application can automatically create schedules for teams and/or players, plus schedule the venues and game officials too!

The essential ingredient for where this software can be applied is that a number of teams (or players) exist in a defined division, league, or other similar grouping arrangement, and that the league/division embodies the need for each team/player within the group to play each other team/player in order to produce a result. The required playing schedule can be either single-mode (one meeting between the teams/players), or dual-mode (two meetings, such as home/away fixtures). For some sports - particularly knock-out competitions - several meetings can take place on a single day.

But scheduling the teams/players to meet each other on the required occasions is usually only half the battle! Having set aside the playing schedule the administrator then has to figure out where those meetings have to take place, plus in many cases (depending on the actual sport) organise the playing officials too! Playing officials very often are only qualified to adjudicate in particular positions, so this can add another dimension entirely - it isn't simply a matter of throwing all the names into a hat and holding a lucky dip.

If that weren't bad enough, then there is always room for further complications such as some playing venues and/or officials being unavailable for part of the playing season, or even a late re-scheduling requirement due to illness or other unforeseen circumstance.

Then you might want to apply some extra rules to the scheduling arrangement - for example in the game of English soccer (at professional level at least) each club has its own ground where all home games are played. Whereas in other parts of the world exactly the same game infers that the teams meet only once in a season, on a randomly selected field! In these cases there would usually be a general rule applied of not wanting any team to play twice at the same venue, nor have the same officials directing the game twice in a season.

This might all seem quite simple to overcome for those who have never taken on this responsibility, but the experienced administrator will certainly know that it can take hours, days or even weeks to sort out a workable arrangement. And sometimes the resulting schedule can be somewhat less than desirable.

When and Where could be the answer to all of these problems, because it takes into account every one of the above criteria to produce schedules - and all this is provided with a few simple clicks of the mouse.

The major features of the application are:

•	Multiple user-configurable divisions (team/player groupings) - no limit on the number of divisions

•	Up to 180 teams in any division (you will probably need a fast/powerful PC for divisions with lots of teams though because the mathematics involves becomes overwhelming!)

•	Any number of playing venues

•	Any number of officials

•	Up to eight officials per game - with each official being designated and selected automatically based upon their positional qualifications

•	Both venues and officials can be independently defined as local to the division or global to all divisions

•	Venues and/or officials are completely optional

•	Venues and/or officials can have pre-defined dates and times set by the user to indicate that those entities are not available for scheduling on those dates/times

•	All teams can be defined as having a "home" venue, so that all matches scheduled for that team at home will be deemed to take place only at that venue

•	Totally automatic (and randomised) team/venue and officials selection to produce a complete playing schedule

•	User can manually create schedules, or override any selection made by the automatic scheduler

•	User can enable aggressive selection of venues and officials, so that venues and officials will not be chosen twice for the same team in the same schedule (home and away)

•	Complete reporting capability for dates, teams, venues, and officials

•	User-configurable colour representation for teams/venues/officials


The Authors

When and Where is the copyright and intellectual property of the authors, in perpetuity. We may be contacted via one of the following means.

Internet

If you have access to the Internet please visit our web site for the latest information on this software application. The URL required is:

http://www.wdn.com/KazMax/index.html

Email

This tends to be the most common method of contacting us, and we do check our Email account at least once per day. Therefore please expect a reply to your enquiry within about 24 hours. The Email address is:

schedule@kazmax.demon.co.uk

Telephone

You can contact us by telephone should you wish. The number is:

01344-642580	(from the UK)

(44) 1344-642580	(outside the UK)

Postal Mail

Although the slowest method available, we are always delighted to respond to postal enquiries sent to the following address:

KazMax

3 Yorkshire Place

Warfield

Bracknell

Berkshire

RG42 3XE

UK


Getting Started

Doing It Manually!

Scheduling fixtures for a set of teams is easy, right? Okay, then start by taking a piece of paper and a pencil. You don't need a diary for this exercise. Write the list of teams down the left side of the page, then turn the page sideways and write the team names again across what was the top of the page. We've just created a basic scheduling grid where the home teams are down the left side of the page, and the away teams are across the top.

Now turn the page the right way up again, and in the grid of horizontal vs vertical you can cross through where any team might play itself.

Now pencil '1' in so that every team is playing a match in week 1. then a '2' for week 2, making sure those teams do not meet again in the same home/away combination! And right on through until you've filled up the grid.

Providing you have started out with half a dozen or more teams, you should by now have figured out that this is much more complicated than it first looked!

Okay, so add the venues into the equation (we'll assume that your teams can play at random rather than at a designated "home" location). Schedule the venues so that no two games are taking place at a venue at any time. To make it more complicated, apply a rule which says that the home team cannot play the same venue at any time in the season for another home game, and the same for the away teams.

Finally, add your match officials in such a way that no two games share the same official at the same time - and that the home team cannot use the same official more than once for its home games, etc.

By now, hopefully you will have seen that this is not the easy task that it appears to be at first consideration. That's why When and Where can figure out these schedules on your behalf and present the finished result.

Steps In Creating A Schedule

The steps in starting to use When and Where for your own sports arrangement are quite straightforward, and will be intuitive once you have been through this process a couple of times. We highly recommend that you take the time to read the on-line help for each of the dialogs you visit, as additional information will be available for each of these dialogs.

1.	Configure the system (System Configuration Dialog)

2.	Define your DIVISION NAME (Main Dialog)

3.	Define the TEAMS within the division (Main Dialog)

4.	Define the available VENUES (Main Dialog)

5.	Define the available OFFICIALS (Main Dialog)

6.	Go to the AUTO-SCHEDULE DIALOG

7.	Update with the MANUAL SCHEDULE DIALOG (if required)

8.	Print your schedules!

Those, briefly are the steps involved in scheduling with When and Where.


Licensing

See also:

Order Form

License Fee

Latest Version

Benefits Of Purchasing

Purchasing

When and Where is a try-before-you-buy software application, enabling you to satisfy yourself that the product meets or exceeds your needs and expectations prior to making a decision to purchase. This is not and will never be "free" software!

About Try-Before-You-Buy Software

For some this seems a very confusing issue, simply because they have acquired the software from somewhere, installed it, and it is working. Why then is it necessary to pay for something which they already have? And for some people, they acquired the software by paying a (usually small) fee to someone in order to get hold of it.

Let us deal with the second issue first of all. If you have paid a fee for acquiring this software, not a penny of that money spent comes to us, the authors. All of that fee goes to someone else - the person to whom you made a payment. If you downloaded this software from the Internet or an on-line service then you would (presumably) have paid for the telephone call and charges to your ISP/on-line service. You clearly would not expect us to receive a cut of those charges. It is the same for people who distribute try-before-you-buy software for a living - they are the middle-men like the telephone company are. No connection to us whatsoever.

When you purchase the licensed version, you are paying for a license to use the software for an indefinite period of time. You are NOT paying for something you already have - because you simply do not have that unrestricted license to use the software until such time as you pay for it. You have limited permission from us to try out this software, that's all.

You may install and evaluate this software for a period not exceeding 45 days or 30 hours cumulative use from first installation. Continued use after this evaluation period requires that you pay the authors of this software the requested license fee. There are no exceptions - you either pay for the software after the evaluation period is over, or stop using it.

On completion of the evaluation period this software will automatically expire, enabling you to access your previously entered data but with several restrictions imposed on functionality.

Continuing to use this software beyond the evaluation period is an illegal activity for which you may be liable for prosecution.

About The Licensed Version

If your request to purchase a licensed version is granted then the following applies. Please also refer to the disclaimer which is shown on the Contents page - essentially the installation and use of this software is carried out at your own risk, and the authors shall not be liable for any consequential effects related with installation/use.

Grant of a license to you is on a single-user, non-transferrable, non-exclusive, and revokable basis. All rights, including but not limited to intellectual and copyrights, to the software application When and Where shall remain the property of the authors in perpetuity. In other words, payment and acceptance of the license fee shall provide you with permission to use the software as-supplied without further request or requirement of any further payment. This license arrangement does not transfer to you any rights to the software, or enable you to claim ownership thereof.

Furthermore, you shall be obliged to respect our interests in this software, and treat the licensed version of the software as if it were your own personal and precious property. You may not give copies to others, or make the licensed software accessible to others in such a way that they could make use of it (for example, installation on a network shared with others). You may make a backup copy of the software, and you may use the software on more than one personal computer - providing that there is no opportunity whatsoever for more than the one instance of the program to be operative at one time.

You may not reverse-engineer or otherwise attempt to subvert (or overcome) the restrictions and/or features we have defined within the scope of the application software.


Benefits Of Licensing

The purchase of a runtime license for When and Where will provide the following benefits to the user, notwithstanding that the user should confirm with the authors that they are evaluating the latest available version.

•	Application as supplied will never time out, and will work with a full and unrestricted feature set without further time limit.

•	The latest release version will be supplied on diskette.

•	Technical support from the authors for a minimum period of six months.

•	The ability to upgrade to any future minor release free of charge (for example all future 1.xx versions will be free for any previously licensed version 1.xx user). We do reserve the right to cover postage and other incidental charges however, at cost.

These benefits and all other terms and conditions are subject to modification in any future release of this application.


Latest Version

It is likely that development of When and Where will continue into the future, with new features and enhancements as well as bug fixes should this be necessary. We do not pre-announce features that we may be working on, however we do encourage users to advise us of features they would like to see, and actively try to incorporate those features as soon as possible.

As with all software development projects of this nature, a release of When and Where can literally spread like wildfire around the world, and clearly we simply cannot replace every copy already in existence when a new release is made. Therefore please make sure that you keep in touch with us on this subject - and if you have Internet access try our web site for the latest news and information (this is referenced in the section about the Authors).

All aspects and attributes of When and Where are subject to change in any future release, including terms and conditions and benefits of purchasing a licensed copy. When a new release is made publicly available by us, that version shall immediately and without notice cause all earlier releases and extents to be superceded - without exception. We shall only be liable for the supply of benefits etc. as laid out in the latest publicly available version.


License Fee

The license fee for When and Where is 25 UK pounds (49 US dollars). This may be subject to review and we do reserve the right to change this in a future release, without notification. Please refer to the section concerning Latest Versions.

This license fee can be paid to the authors via a number of different methods as explained in the section entitled Purchasing A Licensed Version.

Payment (and acceptance thereof) of the license fee entitles you to several benefits. These benefits are not available to non-licensed users, and are subject to modification if/when a new public release is issued.

Also, please note that we offer other products which may be of interest to you. For further information on these please refer to our web site (detailed in the section on the Authors), or contact us via other means. We do provide a discount for multiple products ordered at the same time.


Purchasing A Licensed Version

See also:

Order Form

Latest Version

Benefits of Purchasing

License Fee

To purchase a licensed copy of When and Where you must pay the authors the requested license fee. You may use any of the following methods - we have no particular preference one way or another.

We reserve the right to reject any license application. Presentation of payment does not automatically ensure that a license will be granted. In the event of refusal your payment will be returned in full.

Personal Cheque - UK Funds

Send a personal cheque to the value of the license fee to the authors, made out to KazMax. The cheque must be drawn on a UK bank, or clearable without this incurring bank charges for us.

Personal Cheque - Non-UK Funds

We will accept your personal cheque made out in your own local currency. However this does incur additional banking charges for us, and we therefore ask that you use current exchange rates to work out the US dollar price equivalent (the US dollar price is given under license fee).

Please make your local currency cheque payable to KazMax, and send to the address shown under the section on the authors.

Credit Card

We are unable to directly process credit card transactions at this time, however we have made an arrangement with the Public (software) Library whereby they will accept payment on our behalf. Whilst most users use credit card transfers when taking advantage of PsL's service, please note that PsL will accept virtually any form of payment.


Public (software) Library

Don't forget that you can also register direct with the authors in either UK currency or your own currency.

KazMax have undertaken an arrangement with PsL to allow users to pay for registration by credit card. This can be undertaken via mail, telephone, Fax, Email, or Internet. Registration will incur the registration fee.

Please Note: PsL are only acting as agents for KazMax and cannot provide support or respond to any other product related enquiry. You cannot contact the authors via PsL.

Do not contact PsL for any other reason than to submit an order as we get charged for this activity!

To register When and Where with PsL you will need to quote reference 15132.

The Procedure

When you submit a registration request to PsL they will take your details and pass these on to KazMax. It will be KazMax who will be responsible for fulfilling your order.

Note that at no time is KazMax made aware of your credit card information! Your monetary transaction is between you and PsL - the transaction between PsL and KazMax is wholly separate! The only information we receive about you is that required to complete your order.

Once your order has been accepted following confirmation by your credit card company, PsL will immediately advise KazMax of the new order. We shall ship this immediately we have this confirmation.

In the event that there is a problem concerning your order, please contact KazMax directly, not PsL.

Information Required By PsL

Please ensure that the following information is provided to PsL when submitting an order.

•	Your name (as you wish it to appear in the registered version).

•	Your full mailing address.

•	Your credit card number (and type of card).

•	The expiry date of the credit card.

•	A reference to When and Where.

•	Reference number 15132.

Order By Mail

Send the above details to:

Public (software) Library

P.O. Box 35705

Houston

TX   77235-5705

USA

Order By Telephone

Call either 800-2424-PsL or 713-524-6394 (both in the USA). You will need to supply the above details.

Order By Fax

Send the above details to PsL's Fax on 713-524-6398 (USA).

Order Via The Internet

If you have access to the World Wide Web, access our home page first and select the link which connects you to PsL. There are now two PsL sites in case connection to one is busy.

Order Via Compuserve

If you wish you can place an order to PsL via Compuserve ID 71355,470.


Order Form

To order a copy of When and Where print this page, complete with your name and address, then mail to KazMax at the address shown for the Authors with the license fee. If you wish to review the options relating to placing an order please refer to Purchasing A Licensed Version.

PLEASE PRINT LEGIBLY!

Your Name	____________________________________________

As you wish it to appear on the registered version please! We only

provide licenses to named individuals.

Address	____________________________________________

____________________________________________

____________________________________________

____________________________________________

____________________________________________

____________________________________________

Agreement

In placing an order for When and Where I understand that I have obligations as explained in the section on Licensing which I have read, understood and hereby agree to.

________________________	_______________

Signed	Dated


Main Dialog

This is the main focal point for the application, allowing the user to access all other options within the application. The application must go via the Main Dialog to all of these different functions.

This dialog is broadly simple in presentation. On the top left corner is a combobox allowing the user to select between available divisions, and create/maintain divisions as required. Without a division definition it is not possible to create and maintain teams, venues, or officials.

In the top right corner is the When and Where logo. This is in fact a button, and if you click on this logo you will be presented with the System Configuration Dialog. In fact when you start up When and Where and start configuring it for your own use it would be highly advisable to click on this logo to adjust the various parameters to your own requirements!

The central part of this dialog is taken up with two listboxes. The one on the left is a list of teams, venues, or officials. The larger listbox on the right provides instant feedback on the games already configured for those teams, venues, or officials (which may of course be empty when you first start).

Click on a team/venue/official in the lefthand listbox just once to see a list of assigned games appear for that team/venue/official in the righthand listbox. Double-click the team/venue/official in order to edit it.

All of the user-selectable options are described below.

This combobox allows you to select which of the divisions you have defined as being the current division. Although any number of divisions may be defined within the database only one of these divisions is "active" at any one time. Scheduling takes place on one division at a time.

The +/-/E buttons allow for adding, deleting, and editing of division data (using the Division Definition Dialog). When deleting please note that the underlying teams/venues/officials will also be deleted automatically.

The label on this button will change dynamically when you click on the button, as it is this button which controls access to teams/venues/officials - only one of which can be active at any one time. The button works cyclically, so continued clicking will cause the teams, venues, and officials to be cycled.

The +/-/E buttons to the right of this button allow for the adding/deleting/editing of team, venue or official data.

Venues and officials can have either local or global scope - this button has no effect when teams are being displayed, as teams are always local to the division in which they are created.

If this checkbox is ticked, then the listbox above will show both local and global venues or officials (depending on which is currently being displayed). However, remember that if you change to another division the list of local venues/officials shown will be completely different, but the global list values will be identical!

The detail shown in the large listbox on this dialog can become fairly complex to look at and find detail, and you might prefer to see just the team listings without either the venues or officials tagged on to each game. these two checkboxes allow you to turn the display of this additional data on or off as you wish.

The setting of these checkboxes does not affect the schedule data contained in the database. This is purely a show/no show option.

This button exits from the application. As the database is automatically saved whenever an update occurs there is no need to manually save any data entered.

This button allows you to load, save, delete, or create a new file.

This button takes you to the Auto-Schedule Dialog, where the application will automatically create a schedule based upon the division definitions.

This button takes you to the Manual Schedule Dialog, where you can create new schedules manually - or override those already defined.

This button accesses the Printing Reports Dialog of When and Where, allowing a number of reports to be printed.

This button accesses this on-line help.


Division

Within When and Where a division represents a group of teams/players. Depending on the sporting activity a division may be represented by a different name, however its purpose is simply to manage a collection of teams/players that are to be scheduled by the application.


Exclusion Date

This is a date (and time) where a venue or official is defined as being unavailable for selection by the automatic scheduling options built into the application. The user defines these dates/times via the Venue Definition Dialog and the Official Definition Dialog respectively.


Game

For the purposes of When and Where a game is a meeting between two teams (or players), on a given date and time and at a chosen venue.


Global

Within When and Where venues and officials can be declared as either local, or global. What this means is the scope by which these venues/officials can be accessed. If (for example) a venue is declared as global then it is accessible to all divisions - not just the one it was declared from. The scheduling algorithms will make use of global venues/officials to ensure that if a venue/official is already booked for a particular date/time, they will not be double-booked.

Declaring as global will prove useful where venues/officials can be used across all divisions. They only need be declared once, from any of the divisions.


Local

Within When and Where venues and officials can be declared as either local, or global. What this means is the scope by which these venues/officials can be accessed. If (for example) a venue is declared as local then it is accessible to only the division for which it is declared, and no other division can "see" this definition or make use of it.

Declaring as local will prove useful where venues/officials are only used within one particular division.


Official

An official is someone who is responsible for the control of a game and making final decisions about events which take place within that game, based upon the rules. In a sport such as soccer the officials would be referee and linesmen (and the game could not usually be played without these officials being present). Not all sports for which When and Where will be used will necessarily have officials - for example a game of darts between two teams might usually be expected to be controlled by the two captains rather than an independent official, so they are to some extent optional.


Player

There is no real distinction within When and Where between a team and a player. For some sports (for example snooker, tennis, or squash) a team might consist of only one player. These terms can be interchanged, so if you are scheduling players and not teams, simply substitute "team" for "player".


Schedule

For the purposes of When and Where a schedule is considered to be the collection of games played between two sets of teams/players.


Team

To When and Where a team is simply an entity that is to be scheduled, and it represents the basic unit of scheduling - two teams are scheduled to play each other, either once or twice in a season. In some sports a team will be only one player - these two terms could be interchanged in this case without it affecting the use of this application.


Venue

A venue is simply a place where a sporting activity is to be played. In soccer this would often be known as a "field", in tennis a "court", and so on.


Change History

This is the change history for When and Where, given in reverse order of the version number.

Version 1.01.02

•	Windows 95 version released.

•	Start and close splash dialogs now show which version is being used (Windows 3.x or Windows 95/NT).

Version 1.01.01

•	First public release of When and Where.


System Configuration Dialog

This dialog, accessed from the Main Dialog by clicking on the logo in the top-right corner, provides many system-wide options which control or modify the behaviour of the application.

Ticking this checkbox enables When and Where to assume confirmation for an option which would normally require the user to make a yes/no response.

Clearly this option has implications, as when enabled it will be possible to delete and/or modify information in the database without being requested for confirmation.

For the new user it may be desirable to enable frequent pop-up message boxes in appropriate places to provide information about current options. This checkbox enables and disables this feature. Experienced users will naturally wish to disable this option.

This checkbox affects automatic scheduling. When enabled (ticked) the automated assignment of venues will be performed with increased aggression to prevent any team playing home or away at the same venue within the automatically-generated schedule.

An obvious drawback of this option is that it can take much longer to prepare the schedule, as more calculations have to take place about what has already been scheduled.

Another (potential) drawback is that with this option enabled the user may frequently find that the application simply cannot define venues for all fixtures, because all the legitimate venues have already been scheduled. This is not a complete showstopper, because you can either perform another schedule which may (or may not!) produce a fully defined schedule, or you can accept what has been presented followed by manually scheduling those missing venues.

The latter problem is most likely to occur when the number of available venues is close to the total number of venues required. If it is possible to provide a larger list of alternative venues this will tend to reduce the occurrence of this problem.

This checkbox affects automatic scheduling. When enabled (ticked) the automated assignment of officials will be performed with increased aggression to prevent any team playing home or away with the same official(s) within the automatically-generated schedule.

An obvious drawback of this option is that it can take much longer to prepare the schedule, as more calculations have to take place about what has already been scheduled.

Another (potential) drawback is that with this option enabled the user may frequently find that the application simply cannot define officials for all fixtures, because all the legitimate combinations have already been scheduled. This is not a complete showstopper, because you can either perform another schedule which may (or may not!) produce a fully defined schedule, or you can accept what has been presented followed by manually scheduling those missing officials.

The latter problem is most likely to occur when the number of available officials is close to the total number of officials required. If it is possible to provide a larger list of alternative officials this will tend to reduce the occurrence of this problem.

These checkboxes change the appearance of venues and officials in the listboxes shown on the various dialogs, and combined with the colour options explained below make the application very customisable as far as personal preferences are concerned.

These radiobuttons and edit controls allow you to define the use of officials. Up to eight officials can be assigned to each game, if need be each official having qualifications relating to their respective position on the field of play.

An example might be the game of soccer, where there are (at least in the UK version!) three officials required - the referee and two linesmen. Compare that with American Football where seven officials are required! It all depends on your particular sport, and of course some sports (club darts, snooker and so on?) may not need any officials at all.

First tick the radiobutton for the number of officials required in each game, then enter a short description of each official position in the edit boxes below. These prompts will be presented in other places within When and Where.

When and Where fully supports up to eight different starting times on any date. Typically for a sport played outdoors it might be expected there would be only one starting time, and thus perhaps only one such time needs to be defined here. However for some sports (tennis and other raquet sports?) perhaps there is more of a need for multiple starting times.

Enter up to eight times in these edit controls. These times will be presented in other places within When and Where, as appropriate.

One particularly irksome problem with many applications is that the user is often unable to modify the colours that an application uses, and the colours chosen by the author might be less than desirable on end-user equipment.

When and Where overcomes this limitation by allowing the user to set their own colours as they wish. This should make the system more user-friendly according to personal taste.

This button terminates the System Configuration Dialog, and returns to the Main Dialog.

This button clears the entire schedule of fixtures - for all divisions and all dates/times. This is of course a highly dangerous option to use, but it makes an otherwise time-consuming task that much easier.

Please be cautious in using this option, because it really does do everything it suggests. When you confirm this action, all of your previously defined schedule data is lost forever!

This button accesses this on-line help.


Division Definition Dialog

This simple dialog, accessible only from the Main Dialog, is designed to capture a single piece of data - the name of a division. The same dialog is used for defining a new division, and for editing an existing division.

The division name can be anything you wish, up to 24 characters long.


Team Definition Dialog

This dialog, only accessible from the Main Dialog, is responsible for collecting two pieces of information - the second of which is totally optional as explained below.

The team name is required, and can be anything you like - the only restriction being that it must be 24 characters or less in length.

The Home Venue is OPTIONAL, and you should fully understand the ramifications of defining this item, because it will affect scheduling!

If you do define a venue on this dialog, then When and Where will assume this venue is to be used for all home games automatically scheduled by the application. For the UK professional soccer system this is ideal - but for many other sports it will not be so! Thus, only define this home venue IF your particular sports system requires a home venue for each team - otherwise leave it blank!

The venue can be set as either a local or global venue according to the checkbox shown on this dialog.

In the event that you define a home venue then decide that you no longer require this, edit this team again and clear the home venue definition.

Perhaps the strangest thing about this venue definition is that once you have defined a home venue, you can actually edit the venue from two different places - this dialog, and the Venue Definition Dialog.


Venue Definition Dialog

This dialog, accessible only from the Main Dialog, is used to collect information about the venues used for scheduling.

The only piece of information required by this dialog is the venue name, and optionally whether this is a global or local definition.

The Exclusion Dates (which are disabled when defining the venue for the very first time) are used to inform When and Where of dates and times where this particular venue is to be considered unavailable. There is no particular limitation on how many or how few entries there are in this list, however if a venue is likely to be unavailable for a complete season it would be far better to just delete the venue from the list, and put it back in next season.


Official Definition Dialog

This dialog, accessible only from the Main Dialog, is used to define the officials which are used in the scheduling operations.

There are essentially two pieces of information required for each official. The first is the name of the official - you also have the option of declaring this official to have global or local scope by ticking the appropriate checkbox on this dialog.

The other piece of information which must be supplied for automatic scheduling to work successfully is which positions this official can take up on the playing field. Before you can set these values up it is necessary to visit the System Configuration Dialog and define the positions that are allowed.

It is quite permissible for every official to be able to officiate in every position, however if the official is qualified only for certain positions then the correct checkboxes should be ticked here. The automatic scheduling features do take these values into account when selecting officials.

Finally, the Exclusion Dates (which are disabled when the official is being defined for the very first time) are completely optional. You may configure as many or as few dates and times as you wish - setting a date/time ensures that When and Where will not select that official for any match at that date and time.

If the official is to be absent from selection for a very extended period it would in fact be better to delete the official from the list, then re-add them again next season. This is not due to any limitation within the application, but more the additional work required within the application when scheduling to take note of the fact the official is not available.


Auto-Schedule Dialog

This dialog, accessible only from the Main Dialog, will probably be considered to be the most powerful dialog in the entire application. It is this dialog that automatically creates schedules for entire divisions at once, applying various rules that have been influenced by user configuration options as it does so. Those rules include making sure that there are no double-bookings of teams, venues, or officials - and that any exclusion dates you may have entered are taken into account. Thus behind the scenes this application is doing a tremendous amount of work in trying to build that perfect schedule.

This dialog is able to automatically manage between 3 and 180 team definitions within any single division - there are no limits to the number of divisions, but each division must be processed separately. Outside of this range and the dialog will cease to function (not that it is likely that a division will have so many or so few teams within it!). Note also that if a division has an odd number of teams, the dialog will automatically append a pseudo-team (called "Dummy Team") to the list, as it is not possible to create a balanced schedule with an odd number of teams. Whilst phantom matches involving the pseudo-team will be displayed on this dialog, when committed to the database in a subsequent process these matches will be removed - thus there is no additional work for the user in this respect.

In the first of several passes this dialog will attempt to assign the teams to play each other the required number of times. If the user chooses to have two games assigned (that is, home and away) then the schedule will be properly balanced so that the home and away matches between the two teams fall exactly a half-season apart.

The very first thing the user must do is assign the dates and times to the schedule. This can be performed manually - by selecting the "Teams" button (immediately above the lefthand listbox on this dialog) to show the "Games" if this is not already selected, then double-clicking each of the game slots in turn in the lefthand listbox to select the date/time.

Until the dates/times are defined When and Where will not attempt to complete the venues and officials selection - because if the user has defined exclusion dates then the scheduling algorithms will have no basis on which to choose whether or not the venue/official is available!

Alternatively, and probably preferably, the user can automatically assign the dates/times by clicking the Auto-Date button. This will provide another dialog from which the dates/times can be set to automatically fill from a starting date, and on particular days of the week.

Avoid using the Reschedule button if possible - this does create a new schedule as suggested, but any dates entered will be lost as a result and need to be re-entered. This button is all but redundant, but provided in case the user wishes to see if a new schedule might be able to produce better optimisation (this can probably happen - if repeated use of the Optimise button does not seem to be getting anywhere, try using the Reschedule button a couple of times, followed by Optimise).

The Optimise button will be found to be useful, and this does not lose the dates entered and can thus be repeated endlessly without affecting the dates setup! What this button seeks to achieve is to improve the schedule by reducing the number of matches which are played at home or away in a long sequence. By way of example, the UK professional soccer season requires teams to play both home and away, but teams would prefer that their home and away matches are reasonably interspersed during the season for a variety of reasons.

Clicking the Optimise button causes When and Where to seek to reduce the overall maximum number of matches played home or away in succession - this can be witnessed by the worst home/away schedule bargraphs in the top right of this dialog.

There will almost certainly never be an occasion where this application will produce a schedule where the worst home/away is 1 and 1 - this may (or may not?) be a mathematical impossibility in any case, so this application does not try to achieve what seems to be impossible. It should however be able to reduce the long sequences of homes/aways to a reasonable number.

Finally, during scheduling operations you may experience a pop-up advising that the application could not completely fill the venues and/or officials. If this happens, try using the Optimise button a few more times. This is not however guaranteed to bring success and it is quite probable that you will tend to see this pop-up relatively frequently unless more venues and/or officials can be added to the database.

What this pop-up is informing you of is that as the schedule has filled out, all of the legal venues/officials have been used up - and you have enabled aggressive selection of venues and/or officials on the System Configuration Dialog. Essentially you have placed When and Where into a no-win situation and it has gone for the safest option of not defining an invalid schedule based upon the rules you have given it - and leaving you to manually override those "missing" definitions elsewhere (this is actually a very easy process, so don't be put off by the fact that you haven't got quite the perfect schedule from this dialog - it has done its level best to get to what you need, leaving you probably quite close to where you have to get to).

A contributary reason for the latter problem is that you simply do not have enough venues and/or officials available to make a complete schedule, and the scheduling algorithms have become log-jammed in trying to resolve internal conflicts. This problem will definitely be exacerbated if the number of venues/officials is relatively close to the number actually required - thus if you have the option of adding more venues/officials this should reduce the occurrence of the problem.


File Dialog

This dialog, only accessible from the Main Dialog, is responsible for providing file saving and loading features for the application. Its use should generally be self-explanatory.

The Create NEW File option is a little special in so far that it can only be used to create a wholly new data file. When and Where will allow the user to choose whether or not the currently loaded data file should be used as a template for the new file - in which case the application will copy all of the divisions, teams, venues, and officials to the new file but ignore the scheduled fixtures. Obviously this could prove useful when moving from one season to another.


Calendar Dialog

This dialog pops-up from several places whenever the user is required to identify a date and time.

Occasionally the time radiobuttons will be disabled according to the current requirement of When and Where. The times shown on these radiobuttons are as set by the user via the System Configuration Dialog.

Note that dates containing small coloured blobs either side of the day number represent dates which currently contain fixtures.


Auto-Date Dialog

This dialog is only accessible from the Auto-Schedule Dialog, and provides the user with a quick means of completing a long list of schedule dates/times in one simple operation.

The easiest way of using this dialog is to start at the top and work down. Clicking on the Starting Date button will cause the Calendar Dialog to be presented, from where the starting date of the overall schedule (the first date in the list) can be defined.

Next, tick the Schedule On Weekdays checkbox(es) to represent the day(s) of the week that you wish games to be assigned to. At least one day must be assigned!

Finally, tick the Starting Time(s) checkbox(es) to represent what time(s) you wish to allocate for the games in the list. At least one time must be assigned! Note that the actual times shown here are configurable via the System Configuration Dialog.

Clicking on the Accept button will cause the date/time list on the Auto-Schedule Dialog to be automatically completed. This will start from the starting date, find the first day of the week on which the schedule can run, then work through the times allowed. It will then cycle to the next day and repeat this process until all dates/times have been assigned as requested.

Obviously it may be that one or two dates and times in the list need to be re-assigned due to other commitments or whatever - you can do this simply by double-clicking on that date/time on the Auto-Schedule Dialog.

Example

Suppose you defined a starting date of January 1st (we will leave the year out of this example as it is purely for demonstration purposes). January 1st was a Monday.

You decided, and ticked, that games would be played on Tuesdays and Thursdays, and at times of 14:00 and 18:00.

When and Where would figure out that January 1st being a Monday wasn't acceptable, so the date would increment by one day. now January 2nd is a Tuesday - which is allowed, so the first game would be on Tuesday January 2nd at 14:00.

Now, there are two starting times allowed, so the second game will be assigned as taking place on Tuesday January 2nd at 18:00.

The third game would be on Thursday January 4th at 14:00, followed by Thursday January 4th at 18:00.

The actual list of games created would being as follows.

1.	Tuesday January 2nd at 14:00

2.	Tuesday January 2nd at 18:00

3.	Thursday January 4th at 14:00

4.	Thursday January 4th at 18:00

5.	Tuesday January 9th at 14:00

6.	Tuesday January 9th at 18:00

7.	Thursday January 11th at 14:00

8.	Thursday January 11th at 18:00

....etc...


Date Exclusion Dialog

This dialog is available only from either the Venue Definition Dialog or the Official Definition Dialog, its purpose being to define dates and times on which the venue or official being edited is to be considered unavailable for selection, for example vacation dates or similar. These are known as Exclusion Dates.

Defining a date (or range of dates) and time(s) informs When and Where that this venue or official is simply not available during the specified dates and times. It will not be scheduled automatically as a result.

The times shown on this dialog as are defined by the user via the System Configuration Dialog.

Whilst there is no specific upper limit to the number of dates/times that can be defined (the limit is actually far larger than any typical user is likely to need), it is recommended that if a venue or official is likely to be absent for a long period of time then those definitions should be removed from the available venue/official list - simply because the overhead of processing information which is redundant could become noticable.


Manual Schedule Dialog

This dialog, accessible only from the Main Dialog, allows the user to set up a schedule manually by assigning teams, venues, and officials, or alternatively to override some scheduled games created by the Auto-Schedule Dialog.

The first thing to set is the division which is to be worked on (as the schedule is prepared one division at a time). This is achieved by clicking on the combobox in the top left corner of this dialog, and selecting from the available divisions.

Next, set the date on which fixtures are to be defined or modified, using the button in the top centre of the dialog. This will present the Calendar Dialog, where the date/time can be selected.

In the top right corner of this dialog you can select which times to show in the listbox below using the checkboxes, and which is the current time (which new games will associate themselves with) using the radiobuttons. Note that the times displayed here are as defined by the user via the System Configuration Dialog. Only one time can be current at any instant, although you can show as many or as few of those times as you wish.

On the lefthand side of the dialog is a listbox, which can display either teams, venues, or officials - these options are cycled by clicking on the button immediately above the listbox. Please note that the contents of this listbox are dynamically updated according to the righthand listbox contents - so if a team has a game listed on the right for the current date and time it will NOT be shown in the lefthand listbox, because it simply is not available for selection again! This applies to venues and officials too. It is perfectly reasonable for this listbox to be empty when all teams/venues/officials have been used up!

Underneath the lefthand listbox is a checkbox which indicates whether the listbox should include global information as well as local information, and this applies to just venues and officials because teams are always local to a division.

On the righthand side is a rather larger listbox - please note that the contents of this listbox will be dependent on the setting of the checkboxes on the top right!

Immediately underneath this listbox are two further checkboxes which enable/disable the display of venues and officials information within the listbox. This are user-preference options.

Scheduling A New Game

Assuming that the correct division and date/time have been selected (from the options along the top of the dialog), adding a new game is no more complicated that double-clicking the teams one after another. The first team selected becomes the "home" team, and the second the "away" team - this may not be relevant to your particular sport which may not have home and away fixtures, but it does not matter if this is the case.

To schedule a venue to the match just added, click on the button above the lefthand listbox to show the available venues (perhaps you want to enable the inclusion of global definitions using the checkbox below - this is up to your own configuration arrangement). Then click on the game/venue you wish to change in the righthand listbox (it would be best to tick the checkbox for showing venues!). Then finally, double-click the venue in the lefthand listbox you wish to assign.

Assignment of officials is an identical process of selecting the details in the righthand listbox, then double-clicking the official in the lefthand listbox.


Printing Reports

This dialog, available only from the Main Dialog, provides access to a number of standard reports for teams, venues, officials, and dates. You can print all teams (etc.) at once, or one at a time.

All you need to do to produce a printed report (assuming you have a printer available and configured to Windows) is select the printer you wish to use, which type of report, the tell When and Where which of the available options you wish to include in the report.

Selecting options to include is perhaps the hardest part of all to visualise, but actually it is very simple - highlight the option you want to print in the lefthand listbox, then click on the topmost button between the two listboxes. This will transfer the option to the righthand listbox.

When ready to print, click on the Accept button.